<!doctype html>
<html lang=ru id=faq>

<!-- If you make edits to any FAQ documents, please start each sentence
     on a new line, and try to keep the general formatting consistent
     with the rest of the pages -->

<title>OpenBSD FAQ: Общие вопросы</title>
<meta charset=utf-8>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="../openbsd.css">
<link rel="canonical" href="https://www.openbsd.org/faq/faq8.html">

<h2 id=OpenBSD>
<a href="../index.html">
<i>Open</i><b>BSD</b></a>
FAQ - Общие вопросы
<small>
<a href="index.html">[FAQ Index]</a>
</small>
</h2>
<hr>

<ul>
  <li><a href="#LostPW"    >Я забыл свой пароль root</a>
  <li><a href="#OpenNTPD"  >Использование OpenNTPD</a>
  <li><a href="#TimeZone"  >Часовые пояса</a>
  <li><a href="#locales"   >Набор символов (character sets) и локализация</a>
  <li><a href="#RevDNS"    >Обратный просмотр DNS</a>
  <li><a href="#GenNotConf">Устройство "not configured" в dmesg</a>
</ul>

<hr>

<h2 id="LostPW">Я забыл свой пароль root</h2>

Процесс восстановления пароля включает следующие шаги - загрузку в
однопользовательском режиме, монтирование разделов <code>/</code> и
<code>/usr</code>, выполнение команды
<a href="https://man.openbsd.org/passwd">passwd(1)</a> для смены
пароля root:

<ul>
  <li><b>Загрузка в однопользовательском режиме.</b>
    Эта часть процесса различается для разных
    <a href="https://www.openbsd.org/plat.html">платформ</a>.
    Для amd64 и i386, на
    <a href="https://www.openbsd.org/faq/faq14.html#BootAmd64">на втором этапе загрузки</a>
    есть пауза для введения параметров ядра.
    В примере ниже видно как мы передали <code>-s</code> флаг для
    <a href="https://man.openbsd.org/OpenBSD-current/i386/boot">boot(8)</a>:

<pre class="cmdbox">
probing: pc0 com0 com1 mem[638K 1918M a20=on]
disk: hd0+ hd1+
>> OpenBSD/amd64 BOOT 3.33
boot> <b>boot -s</b>
</pre>

  <li><b>Монтирование разделов.</b>
    Оба раздела <code>/</code> и <code>/usr</code> должны быть подмонтированны
    в режиме чтения и записи.

<pre class="cmdbox">
# <b>fsck -p / &amp;&amp; mount -uw /</b>
# <b>fsck -p /usr &amp;&amp; mount /usr</b>
</pre>

  <li><b>Запустите <a href="https://man.openbsd.org/passwd">passwd(1)</a>
    для смены пароля root.</b>
    Поскольку вы загрузились в однопользовательском режиме, у вас уже есть
    права root, поэтому пароль вводить не портебуется.

  <li><b>Загрузка в многопользовательском режиме.</b>
    Это можно сделав нажав "CTRL-D" для перехода в нормальный режим загрузки,
    или выполнив команду
    <a href="https://man.openbsd.org/reboot">reboot(8)</a>.
</ul>

<h2 id="OpenNTPD">Использование OpenNTPD</h2>

<a href="https://openbsd-ru.github.io/openntpd/index.html">OpenNTPD</a>
это надежный и простой NTP-совместимый способ иметь точное время в системе.
<a href="https://man.openbsd.org/ntpd">ntpd(8)</a> демон включается по умолчанию
во время установки.
Во время загрузки, <code>ntpd</code> постарается установить часы, в зависимости
от данных, которые он получит от NTP-узлов, найденных при помощи
<a href="https://man.openbsd.org/ntpd.conf#CONSTRAINTS">constraints</a>
по https.

Как только часы будут точно настроенны, <code>ntpd</code> будет следить
за тем, чтобы они не убежали, используя сервера, указанные в
<a href="https://man.openbsd.org/ntpd.conf">ntpd.conf(5)</a>.
Во время загрузки, <code>ntpd</code> корректирует настройки часов только
в том случае, если они отстали (подгоняет их вперед). Если же ваши часы
спешат, т.е. время на них нужно переместить назад, установите часы вручную,
используя <a href="https://man.openbsd.org/date">date(1)</a>..

<p>
Для использования OpenNTPD в качестве сервера, добавьте строку
<code>listen on *</code> в ваш
<a href="https://man.openbsd.org/ntpd.conf">ntpd.conf(5)</a> файл и
перезапустите демон.
Можно настроить его и так, чтобы он работал только со специально указанным
адресом или интерфейсом.

<p>
После того как вы запустете <a href="https://man.openbsd.org/ntpd">ntpd(8)</a>
в качестве сервера, другие машины, возможно, не смогут синхронизировать
настройки времени сразу же. Это связано с тем, что информация о времени не
будет предоставляться сервером до тех пор, пока не будет достигнут достаточный
уровень стабильности. Как только этот уровень будет досигнут, в
<code>/var/log/daemon</code> появится сообщение "clock now synced".

<h2 id="TimeZone">Часовые пояса</h2>

OpenBSD предполагает, что ваши аппаратные часы настроены в соответствии с UTC
(Universal Coordinated Time), а не по местному времени. Это может причиной проблем при
<a href="https://www.openbsd.org/faq/faq4.html#Multibooting">мультизагрузке</a>.
Большинство других операционных ситем могут быть настроены по тому же принципу,
что и OpenBSD, чтобы избежать эту проблему.

<p>
Если испрользование UTC является причиной проблем, вы всегда можете изменить
настройки, в
<a href="https://man.openbsd.org/sysctl.conf">sysctl.conf(5)</a>.
Например, добавьте следюущие строки в <code>/etc/sysctl.conf</code> чтобы
сконфигурировать OpenBSD для использования аппаратные часов
установленных на US/Eastern (5 часов или 300 минут от UTC):

<pre class="cmdbox">
kern.utc_offset=-300
</pre>

Ознакомьтесь с параметром "kern.utc_offset" в руководстве
<a href="https://man.openbsd.org/sysctl.2">sysctl(2)</a>.

<p>
Обратите внимание, что аппаратные часы (hardware clock) должны работать
с вышеуказанной конфигурацией и требуемым смещением перед загрузкой OpenBSD,
иначе при загрузке будет неправильно настроено системное время.

<p>
Обычно, часовой пояс настраивается во время установки.
Если вам нужно изменить часовой пояс, вы можете создать новый symbolic link
на подходящий файл часового пояса в <code>/usr/share/zoneinfo</code>.
Например, чтобы настроить машину для использования EST5EDT в качестве
нового локального часового пояса:

<pre class="cmdbox">
# <b>ln -fs /usr/share/zoneinfo/EST5EDT /etc/localtime</b>
</pre>

Смотрите также руководство по <a href="https://man.openbsd.org/date">date(1)</a>.

<h2 id="locales">Набор символов (character sets) и локализация</h2>

Базовая система OpenBSD полностью поддерживает набор символов и кодировку
ASCII, а таже частично кодировку UTF-8 набора символов Unicode. Никакие другие
кодировки или наборы символов не поддерживаются базовой системой, но порты
могут использоваться для их обработки. Уровень поддержки UTF-8 и конфигурация
кодировки по умолчанию сильно различаются в зависимости от используемой
программы или библиотеки.

<p>
Чтобы использовать UTF-8 везде, где это поддерживается, установите значение
<code>en_US.UTF-8</code> для переменной среды <code>LC_CTYPE</code>:

<ul>
  <li>
    Если вы используете <a href="https://man.openbsd.org/xenodm">xenodm(1)</a>
    для входа в систему, добавьте <code>export LC_CTYPE="en_US.UTF-8"</code>
    в <code>~/.xsession</code> до запуска оконного менеджера.
    Обратите внимание на главу <a href="faq11.html#CustomizingX">настройка X</a>,
    если вы ищете более подробную информацию по этой теме.
  <li>
    Если вы входите в систему через консоль, добавьте
    <code>export LC_CTYPE="en_US.UTF-8"</code> в ваш <code>~/.profile</code>.
    Поддержка UTF-8 в консоли находится в стадии разработки, и некоторые символы,
    не входящие в ASCII, могут отображаться некорректно.
</ul>

При подключении к удаленным системам через
<a href="https://man.openbsd.org/ssh">ssh(1)</a> значение переменной
<code>LC_CTYPE</code> не будет переданно, поэтому перед подключением убедитесь,
что на локальном терминале установлена кодировка символов, используемая на удаленном
сервере.
Если эта кодировка неизвестна или не поддерживается OpenBSD, убедитесь, что вы
используете дефолтную конфигурацию
<a href="https://man.openbsd.org/xterm">xterm(1)</a>, а после подключения
настройте консоль (remote shell) при помощи <code>LC_CTYPE=en_US.UTF-8</code>.

<p>
Базовая система OpenBSD полностью игнорирует все переменные окружения,
связанные с локалью, кроме <code>LC_CTYPE</code>. Даже <code>LC_ALL</code>
и <code>LANG</code> влияют только на кодировку символов. Некоторые порты могут
учитывать другие <code>LC_*</code> переменные, но использовать их или
устанавливать для <code>LC_CTYPE</code> любое другое значение, отличное от
<code>C</code>, <code>POSIX</code> или <code>en_US.UTF-8</code>, не рекомендуется.

<h2 id="RevDNS">Обратный просмотр DNS</h2>

У некоторых новых пользоватей возникают задержки при попытках войти в
систему при использовании, к примеру,
<a href="https://man.openbsd.org/ssh">ssh(1)</a> или при использовании
прокси или отправки письма.

<p>
Это почти всегда происходит из-за проблемы обратного преобразования DNS.
DNS (Domain Name Services или система доменных имён) используется в Internet
для преобразования имен (таких как например "www.openbsd.org") в IP-адрес.
Другая задача DNS - преобразовывать IP-адрес назад в "имя".
Этот процесс называется обратным преобразованием или обратным просмотром DNS
(reverse DNS).

<p>
Для более лучшего процесса входа в систему, OpenBSD выполняет обратный
просмотр DNS для любой машины, к которой подключаются различными путями,
включая <a href="https://man.openbsd.org/ssh">ssh(1)</a>,
<a href="https://man.openbsd.org/ftp">ftp(1)</a> и
<a href="https://man.openbsd.org/ftp-proxy">ftp-proxy(8)</a>.
К несчастью, в некоторых случаях, машина, которая пытается создать соединение,
не имеет соответствующей обратной DNS записи.

<h3>Решение, использующее hosts файл</h3>

Самое простое решение выглядит так: добавить в ваш
<a href="https://man.openbsd.org/hosts">hosts(5)</a>
файл все машины из внутренней сети, и проверить, что ваш файл
<a href="https://man.openbsd.org/resolv.conf">resolv.conf(5)</a> содержит,
строку <code>lookup file bind</code>. Это гарантирует, что resolver знает,
что поиск начинать нужно с файла
<a href="https://man.openbsd.org/hosts">hosts(5)</a>, и только в том случае,
если это не прокатит, использовать DNS-серверы, заданные при помощи строк
<code>nameserver</code> в файле
<a href="https://man.openbsd.org/resolv.conf">resolv.conf(5)</a>.

<p>
Ваш <code>/etc/hosts</code> файл может выглядеть как этот:

<pre class="cmdbox">
::1          localhost.in.example.org localhost
127.0.0.1    localhost.in.example.org localhost
192.168.1.1  gw.in.example.org        gw
192.168.1.20 scrappy.in.example.org   scrappy
192.168.1.35 shadow.in.example.org    shadow
</pre>

Ваш <code>/etc/resolv.conf</code> файл может выглядеть так:

<pre class="cmdbox">
search in.example.org
nameserver 24.2.68.33
nameserver 24.2.68.34
lookup file bind
</pre>

Если вы используете
<a href="https://www.openbsd.org/faq/faq6.html#DHCP">DHCP</a>,
вы должны добавить <code>lookup file bind</code> в ваш
<code>/etc/resolv.conf.tail</code> файл, так как <code>resolv.conf</code>
будет перезаписан
<a href="https://man.openbsd.org/dhclient">dhclient(8)</a>.

<h2 id="GenNotConf">Устройство "not configured" в dmesg</h2>

Если в двух словах, то это значит, что устройство не поддерживается
используемым ядром, т.е. вы не можете пользоваться этим устройством.

<p>
PCI, как и многие другие типы устройств, предоставляют о себе так называемую
информацию идетификации, чтобы ОС могла правильно распознать и
работать с ними. В добавлении этого механизма распознавания нет ничего
сложного, а вот добавление поддержки самого устройства - нет.
Вот пример двух «не настроенных» устройств:

<pre class="cmdbox">
[...]
vendor "Intel", unknown product 0x5201 (class network subclass ethernet,
rev 0x03) at pci2 dev 9 function 1 not configured
[...]
"Intel EE Pro 100" rev 0x03 at pci2 dev 10 function 0 not configured
[...]
</pre>

Тут у нас две сетевые карты, ни одна из них не работает. У первой был
идентифицирован код поставщика, и был определен общий тип карты, но не
её точная модель. Вторая была полностью идентифицированна, но сообщение
<code>not configured</code> говорит нам, что для него не найден драйвер.

<h4>Что я могу сделать с "not configured" устройствами?</h4>

<ul>
  <li>Если поддержка этих устройств вам не нужна, то можно просто игнорировать
      эти <code>not configured</code> предупреждения.
  <li>Иногда это просто один из вариантов поддерживаемого устройства. Другими
      словами, разработчику может быть относительно просто добавить поддержку
      новой карты. В противном случае необходимо будет написать новый драйвер,
      что может быть даже невозможно, если устройство не полностью документировано.
  <li>Если используется установленное ядро, устройство может не поддерживаться
      из-за нехватки места (due to space constraints).
      Удостоверьтесь, что проблема проявляется при использовании стандартного
      <code>GENERIC</code> ядра.
  <li>Прежде чем сообщать о <code>not configured</code> устройстве, удостоверьтесь,
      что вы протестировали наиболее свежие <a href="faq5.html#Flavors">снапшоты</a>,
      т.к. поддержка, возможно, уже была добавленна там.
      Так же не поленитесь проверить <a href="https://www.openbsd.org/mail.html">
      архив рассылки</a>, чтобы не создавать повторное обсуждение.
</ul>
